home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / c / option.exe / TOPTWIN.CPP < prev   
C/C++ Source or Header  |  1992-10-25  |  2KB  |  76 lines

  1. /*------------------------------------------------------------*/
  2. /* filename -       toptwin.cpp                               */
  3. /*                                                            */
  4. /* function(s)                                                */
  5. /*                  TOptionWindow member functions            */
  6. /*------------------------------------------------------------*/
  7.  
  8. /*------------------------------------------------------------*/
  9. /*                                                            */
  10. /*    Turbo Vision -  Version 1.0                             */
  11. /*                                                            */
  12. /*                                                            */
  13. /*    Copyright (c) 1991 by Borland International             */
  14. /*    All Rights Reserved.                                    */
  15. /*                                                            */
  16. /*------------------------------------------------------------*/
  17.  
  18. #define Uses_TOptionWindow
  19. #define Uses_TWindow
  20. #define Uses_TOptionViewer
  21. #define Uses_TListViewer
  22. #define Uses_TCollection
  23. #include <tv.h>
  24. #include "TOption.h"
  25.  
  26. TOptionInit::TOptionInit( TListViewer *(*cListViewer)( TRect, TWindow *,
  27.     TCollection * ) ) :
  28.     createListViewer( cListViewer )
  29. {
  30. }
  31.  
  32. #define cpOptionWindow "\x13\x13\x15\x18\x17\x13\x14"
  33.  
  34. TOptionWindow::TOptionWindow( const TRect& bounds,
  35.                                 TCollection *aList ) :
  36.         TOptionInit( &TOptionWindow::initViewer ),
  37.         TWindow( bounds, 0, wnNoNumber),
  38.         TWindowInit( &TOptionWindow::initFrame )
  39.     {
  40.     flags = wfClose;
  41.     if( createListViewer != 0 &&
  42.         (viewer = createListViewer( getExtent(), this, aList )) != 0 )
  43.         insert( viewer );
  44.     }
  45.  
  46. TPalette& TOptionWindow::getPalette() const
  47.     {
  48.     static TPalette palette( cpOptionWindow, sizeof( cpOptionWindow )-1 );
  49.     return palette;
  50.     }
  51.  
  52. void TOptionWindow::getSelection( char *dest )
  53.     {
  54.     viewer->getText( dest, viewer->focused, 255 );
  55.     }
  56.  
  57. TListViewer *TOptionWindow::initViewer( TRect r, TWindow * win,
  58.         TCollection *aList )
  59.     {
  60.     r.grow( -1, -1 );
  61.     return new TOptionViewer( r,
  62.         win->standardScrollBar( sbHorizontal | sbHandleKeyboard ),
  63.         win->standardScrollBar( sbVertical | sbHandleKeyboard ),
  64.         aList );
  65.     }
  66.  
  67. TCollection *TOptionWindow::list()
  68.     {
  69.     return ((TOptionViewer *)viewer)->list();
  70.     }
  71.  
  72. void TOptionWindow::newList( TCollection *aList )
  73.     {
  74.     ((TOptionViewer *)viewer)->newList(aList);
  75.     }
  76.